package com.bestcem.xm.award.dao;

import com.bestcem.xm.award.entity.pojo.AwardRequestStatsDayDO;

import java.util.Date;
import java.util.List;

/**
 * 奖励请求每日数量统计
 *
 * @author sh.pei <sh.pei@idiaoyan.com>
 * @version v1.0
 * @date 2021/8/23 11:22
 */
public interface AwardRequestStatsDayDao {

    /**
     * 保存奖励统计
     *
     * @param awardRequestStatsDayDO 奖励请求数量统计
     * @return 主键id
     */
    String insert(AwardRequestStatsDayDO awardRequestStatsDayDO);

    /**
     * 根据awardId、deliverId、statsDay修改数据
     *
     * @param awardRequestStatsDayDO 奖励请求数量统计
     * @return 修改成功条数
     */
    Integer updateByAwardIdAndStatsDay(AwardRequestStatsDayDO awardRequestStatsDayDO);

    /**
     * 查询奖励统计
     *
     * @param awardId   奖励id
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @return 奖励请求数量统计列表
     */
    List<AwardRequestStatsDayDO> listAwardRequestStatsDays(String awardId, Date startDate, Date endDate);

    /**
     * 批量插入奖励统计数据
     * @param awardRequestStatsDayDOS 奖励统计数据
     * @return
     */
    Integer batchInsert(List<AwardRequestStatsDayDO> awardRequestStatsDayDOS);

    /**
     * 根据日期删除统计数据
     * @param statsDay 日期
     * @return
     */
    Integer deleteByStatsDay(Date statsDay);

}
